In an increasingly networked society, users frequently use data networks to perform a variety of tasks formerly performed in person. For example, a user may purchase an item from a network-based retailer using his or her computing device. In yet another example, the user may employ a banking service to check account balances, pay bills, schedule transfers, and the like. As a result, providers of network-based services face a number of pre- and post-sale contacts with their customers. Systems, such as call centers have been developed as a centralized, scalable mechanism to handle the volume of calls across a variety of contact contexts, including, for example, sales and marketing contacts, technical support, and billing. However, call centers suffer from a variety of shortcomings.
For example, user calls to a call center are generally routed to a first available agent in order to respond to the customer's call in the shortest amount of time. In the event that a user contacts a call center again at a later date, the user is still routed to the first available agent. In general, different agents answer the user's calls and neither the user nor the agent develops a relationship with each other, as each call represents a first contact. As a result, opportunities for relationship building and loyalty development are lost.